package com.learn.a06_2_inventory.data

import android.content.Context

/**
 * 用于依赖注入的应用容器。
 */
interface AppContainer {
    val itemsRepository: ItemsRepository
}

/**
 * [AppContainer] 实现提供 [OfflineItemsRepository] 的实例
 */
class AppDataContainer(private val context: Context) : AppContainer {
    /**
     * [ItemsRepository]的实现
     */
    override val itemsRepository: ItemsRepository by lazy {
        OfflineItemsRepository(InventoryDatabase.getDatabase(context).itemDao())
    }
}
